Subsystems : Provably Safe Exception Handling ( Status Report ) Bart

نویسندگان

  • Bart Jacobs
  • Frank Piessens
چکیده

The primary goal of exception mechanisms is to help ensure that when an operation fails, code that depends on the operation’s successful completion is not executed (a property we call dependency safety). However, current exception mechanisms make it hard to achieve dependency safety, in particular when objects manipulated inside a try block outlive the try block. To remedy this, we propose a language mechanism called subsystems. Programmers may create subsystems dynamically and execute blocks of code in them. Once any such block fails, all subsequent attempts to execute code in the subsystem will fail. To achieve dependency safety, programmers simply need to ensure that if an operation B depends on an operation A, then A and B are executed in the same subsystem. Furthermore, subsystems help fix the unsafe interaction between locks and exceptions and they enable safe cancellation and robust resource cleanup. We have implemented the mechanism as a C# library, and we show that the constructs have low performance overhead.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Failboxes: Provably Safe Exception Handling

The primary goal of exception mechanisms is to help ensure that when an operation fails, code that depends on the operation’s successful completion is not executed (a property we call dependency safety). However, the exception mechanisms of current mainstream programming languages make it hard to achieve dependency safety, in particular when objects manipulated inside a try block outlive the tr...

متن کامل

A Markov Model for Performance Evaluation of Coal Handling Unit of a Thermal Power Plant

The present paper discusses the development of a Markov model for performance evaluation of coal handling unit of a thermal power plant using probabilistic approach. Coal handling unit ensures proper supply of coal for sound functioning of thermal Power Plant. In present paper, the coal handling unit consists of two subsystems with two possible states i.e. working and failed. Failure and repair...

متن کامل

Safe Asynchronous Exceptions for Python

We demonstrate that the Python programming language is not signal-safe, due to Python’s support for raising exceptions from signal handlers. We examine the approaches that various languages have used when dealing with the combination of asynchrony and exception handling, and propose a modification of the Python language that restores signal safety.

متن کامل

A Formalisation of Java's Exception Mechanism

This paper examines Java's exception mechanism, and formalises its main operations (thro~, try-catch and try-catch-finally) in a type-theoretic setting. This formalisation uses so-called coalgebras for modeling Java statements and expressions, thus providing a convenient setting for handling the various termination options that may arise in exception handling (closely following the Java Languag...

متن کامل

Exception Handling for C++

This paper outlines a design for an exception handling mechanism for C++. It presents the reasoning behind the major design decisions and considers their implications for implementation alternatives. The mechanism is flexible, comparatively safe and easy to use, works in a mixed language execution environment, and can be implemented to run efficiently. Two implementation strategies are describe...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2008